home *** CD-ROM | disk | FTP | other *** search
/ Aminet 25 / Aminet 25 (1998)(GTI - Schatztruhe)[!][Jun 1998].iso / Aminet / comm / misc / MakeFTPScript.lha / MakeFTPScript.rexx < prev   
OS/2 REXX Batch file  |  1998-04-03  |  2KB  |  69 lines

  1. /* MakeFTPScript v1.2 by Grzegorz Fitrzyk SP9WUN (sp9wun@sr9zaa.ampr.org)
  2.    
  3.    usage:    rx rexx:MakeFTPScript.rexx ADDRESS/K SOURCE/K DEST/K README/S
  4.    ex.:      rx rexx:MakeFTPScript.rexx ftp.wustl.edu ram:recent ram:script readme
  5.  
  6. */
  7.  
  8. parse arg ADDRESS source destin readflag
  9. parse var readflag ' ' readfl
  10.  
  11. MODE=''
  12. total=0
  13.  
  14. readfl=upper(readfl)
  15. options results
  16.  
  17. if Open(loadit, source, 'Read') then do    /* Open source file.*/
  18.   if Open(Saveit, destin, 'Write') then do /* Open destination file. */
  19.    do forever
  20.      line=Readln(loadit)
  21.      if line="" then leave
  22.        parse var line '|'. header
  23.        if header="" then do
  24.          if line~="|" then do
  25.            call makeline
  26.          end
  27.        end
  28.      end
  29.   end; else call error_write
  30. end; else call error_read
  31.  
  32. say 'Total size of requested files 'total'KB'
  33. say 'Conversion succesfull.'
  34.  
  35. quitit:
  36. call close(saveit)
  37. call close(loadit)
  38. exit
  39.  
  40. error_read:
  41. say 'Cant find source file: 'source
  42. call quitit
  43.  
  44. error_write:
  45. say 'Cant write destination file 'dest
  46. call quitit
  47.  
  48. makeline:
  49. parse var line filename direct size rest
  50. linecom='ncftp'||MODE||' '||ADDRESS||':'||'pub/aminet/'||direct||'/'||filename
  51. call writeln(saveit,linecom)
  52. exten=right(size,1)
  53. tt=pos('+',size)
  54. if tt>0 then size=left(size,tt-1)
  55. temp=length(size)
  56. size=left(size,temp-1)
  57. size=translate(size,,' ')
  58. if exten="M" then size=size*1024
  59. total=total+size
  60. if readfl="README" then call doreadme
  61. return
  62.  
  63. doreadme:
  64. dlug=length(filename)
  65. readname=left(filename,dlug-3)
  66. linecom='ncftp'||MODE||' '||ADDRESS||':'||'pub/aminet/'||direct||'/'||readname||'readme'
  67. call writeln(saveit,linecom)
  68. return
  69.